package com.cdtu.stocksage.goods.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.cdtu.stocksage.common.annotation.Excel;
import com.cdtu.stocksage.common.core.domain.BaseEntity;

/**
 * 物资入库记录对象 ers_goods_enter_record
 * 
 * @author SL
 * @date 2025-03-12
 */
public class ErsGoodsEnterRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private String id;

    /** 仓库ID */
    @Excel(name = "仓库ID")
    private String warehouseId;

    /** 仓库名称 */
    @Excel(name = "仓库名称")
    private String warehouseName;

    /** 物资来源 */
    @Excel(name = "物资来源")
    private Long enterType;

    /** 来源详情 */
    @Excel(name = "来源详情")
    private String source;

    /** 物资分类 */
    @Excel(name = "物资分类")
    private String goodsType;

    /** 物资ID */
    @Excel(name = "物资ID")
    private String goodsId;

    /** 物资名称 */
    @Excel(name = "物资名称")
    private String goodsName;

    /** 物资单价（元） */
    @Excel(name = "物资单价", readConverterExp = "元=")
    private BigDecimal goodsPrice;

    /** 入库数量 */
    @Excel(name = "入库数量")
    private BigDecimal goodsNum;

    /** 入库单位 */
    @Excel(name = "入库单位")
    private String goodsUnit;

    /** 入库时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入库时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date enterTime;

    /** 物资品牌 */
    @Excel(name = "物资品牌")
    private String brand;

    /** 物资规格 */
    @Excel(name = "物资规格")
    private String specs;

    /** 物资型号 */
    @Excel(name = "物资型号")
    private String model;

    /** 单箱数量 */
    @Excel(name = "单箱数量")
    private Long singleNum;

    /** 单箱单位 */
    @Excel(name = "单箱单位")
    private String singleUnit;

    /** 物资介绍 */
    @Excel(name = "物资介绍")
    private String introduce;

    /** 报废年限 */
    @Excel(name = "报废年限")
    private BigDecimal scrapYear;

    /** 生产日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生产日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date buyingTime;

    /** 货架号 */
    @Excel(name = "货架号")
    private String shelfNumber;

    /** 物资图片 */
    @Excel(name = "物资图片")
    private String goodsPic;

    /** 备注 */
    @Excel(name = "备注")
    private String remarks;

    /** 入库人ID */
    @Excel(name = "入库人ID")
    private String userId;

    /** 入库人姓名 */
    @Excel(name = "入库人姓名")
    private String userName;

    /** 审核状态 */
    @Excel(name = "审核状态")
    private Integer status;

    /** 审核结果 */
    @Excel(name = "审核结果")
    private String apprResult;

    /** 审核人ID */
    @Excel(name = "审核人ID")
    private String apprUserId;

    /** 审核人姓名 */
    @Excel(name = "审核人姓名")
    private String apprUserName;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date apprTime;

    /** 删除状态 */
    private Integer delFlag;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }

    public void setWarehouseId(String warehouseId) 
    {
        this.warehouseId = warehouseId;
    }

    public String getWarehouseId() 
    {
        return warehouseId;
    }

    public void setWarehouseName(String warehouseName) 
    {
        this.warehouseName = warehouseName;
    }

    public String getWarehouseName() 
    {
        return warehouseName;
    }

    public void setEnterType(Long enterType) 
    {
        this.enterType = enterType;
    }

    public Long getEnterType() 
    {
        return enterType;
    }

    public void setSource(String source) 
    {
        this.source = source;
    }

    public String getSource() 
    {
        return source;
    }

    public void setGoodsType(String goodsType) 
    {
        this.goodsType = goodsType;
    }

    public String getGoodsType() 
    {
        return goodsType;
    }

    public void setGoodsId(String goodsId) 
    {
        this.goodsId = goodsId;
    }

    public String getGoodsId() 
    {
        return goodsId;
    }

    public void setGoodsName(String goodsName) 
    {
        this.goodsName = goodsName;
    }

    public String getGoodsName() 
    {
        return goodsName;
    }

    public void setGoodsPrice(BigDecimal goodsPrice) 
    {
        this.goodsPrice = goodsPrice;
    }

    public BigDecimal getGoodsPrice() 
    {
        return goodsPrice;
    }

    public void setGoodsNum(BigDecimal goodsNum) 
    {
        this.goodsNum = goodsNum;
    }

    public BigDecimal getGoodsNum() 
    {
        return goodsNum;
    }

    public void setGoodsUnit(String goodsUnit) 
    {
        this.goodsUnit = goodsUnit;
    }

    public String getGoodsUnit() 
    {
        return goodsUnit;
    }

    public void setEnterTime(Date enterTime) 
    {
        this.enterTime = enterTime;
    }

    public Date getEnterTime() 
    {
        return enterTime;
    }

    public void setBrand(String brand) 
    {
        this.brand = brand;
    }

    public String getBrand() 
    {
        return brand;
    }

    public void setSpecs(String specs) 
    {
        this.specs = specs;
    }

    public String getSpecs() 
    {
        return specs;
    }

    public void setModel(String model) 
    {
        this.model = model;
    }

    public String getModel() 
    {
        return model;
    }

    public void setSingleNum(Long singleNum) 
    {
        this.singleNum = singleNum;
    }

    public Long getSingleNum() 
    {
        return singleNum;
    }

    public void setSingleUnit(String singleUnit) 
    {
        this.singleUnit = singleUnit;
    }

    public String getSingleUnit() 
    {
        return singleUnit;
    }

    public void setIntroduce(String introduce) 
    {
        this.introduce = introduce;
    }

    public String getIntroduce() 
    {
        return introduce;
    }

    public void setScrapYear(BigDecimal scrapYear) 
    {
        this.scrapYear = scrapYear;
    }

    public BigDecimal getScrapYear() 
    {
        return scrapYear;
    }

    public void setBuyingTime(Date buyingTime) 
    {
        this.buyingTime = buyingTime;
    }

    public Date getBuyingTime() 
    {
        return buyingTime;
    }

    public void setShelfNumber(String shelfNumber) 
    {
        this.shelfNumber = shelfNumber;
    }

    public String getShelfNumber() 
    {
        return shelfNumber;
    }

    public void setGoodsPic(String goodsPic) 
    {
        this.goodsPic = goodsPic;
    }

    public String getGoodsPic() 
    {
        return goodsPic;
    }

    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }

    public void setUserId(String userId) 
    {
        this.userId = userId;
    }

    public String getUserId() 
    {
        return userId;
    }

    public void setUserName(String userName) 
    {
        this.userName = userName;
    }

    public String getUserName() 
    {
        return userName;
    }

    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }

    public void setApprResult(String apprResult) 
    {
        this.apprResult = apprResult;
    }

    public String getApprResult() 
    {
        return apprResult;
    }

    public void setApprUserId(String apprUserId) 
    {
        this.apprUserId = apprUserId;
    }

    public String getApprUserId() 
    {
        return apprUserId;
    }

    public void setApprUserName(String apprUserName) 
    {
        this.apprUserName = apprUserName;
    }

    public String getApprUserName() 
    {
        return apprUserName;
    }

    public void setApprTime(Date apprTime) 
    {
        this.apprTime = apprTime;
    }

    public Date getApprTime() 
    {
        return apprTime;
    }

    public void setDelFlag(Integer delFlag) 
    {
        this.delFlag = delFlag;
    }

    public Integer getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("warehouseId", getWarehouseId())
            .append("warehouseName", getWarehouseName())
            .append("enterType", getEnterType())
            .append("source", getSource())
            .append("goodsType", getGoodsType())
            .append("goodsId", getGoodsId())
            .append("goodsName", getGoodsName())
            .append("goodsPrice", getGoodsPrice())
            .append("goodsNum", getGoodsNum())
            .append("goodsUnit", getGoodsUnit())
            .append("enterTime", getEnterTime())
            .append("brand", getBrand())
            .append("specs", getSpecs())
            .append("model", getModel())
            .append("singleNum", getSingleNum())
            .append("singleUnit", getSingleUnit())
            .append("introduce", getIntroduce())
            .append("scrapYear", getScrapYear())
            .append("buyingTime", getBuyingTime())
            .append("shelfNumber", getShelfNumber())
            .append("goodsPic", getGoodsPic())
            .append("remarks", getRemarks())
            .append("userId", getUserId())
            .append("userName", getUserName())
            .append("status", getStatus())
            .append("apprResult", getApprResult())
            .append("apprUserId", getApprUserId())
            .append("apprUserName", getApprUserName())
            .append("apprTime", getApprTime())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
